Java进阶-二进制位运算

位运算符:

  • 某个数 x 右移 n 位,最终结果:x / 2的n次方
  • 某个数 x 左移 n 位,最终结果:x * 2的n次方
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class BinaryTest {

public static void main(String[] args) {
// >>1 二进制右移1位
// >>2 二进制右移2位
// 10的二进制位是:00001010
// 10的二进制右移1位是:00000101
System.out.println(10 >> 1); // 右移1位是除以2->5
System.out.println(10 >> 2); // 2
System.out.println(10 >> 3); // 1
System.out.println(10 >> 4); // 0
System.out.println(10 >> 5); // 0

// 二进制位左移1位
// 10的二进制位是:00001010
// 10的二进制左移1位是:000010100
System.out.println(10 << 1); // 20
System.out.println(10 << 2); // 40
System.out.println(10 << 3); // 80
}
}